Digital I/O Pins এবং তাদের প্রয়োগ

Computer Programming - আরডুইনো (Arduino) Arduino বোর্ডের উপাদানসমূহ (Components of an Arduino Board) |
217
217

Arduino বোর্ডে থাকা Analog Pins হল এমন পিন যা এনালগ সিগনাল পড়তে সক্ষম। এই পিনগুলো এনালগ ভোল্টেজ ইনপুটকে ডিজিটাল মানে রূপান্তরিত করে, যা বোর্ডের মাইক্রোকন্ট্রোলার দ্বারা প্রক্রিয়াকৃত হয়। এনালগ পিন ব্যবহার করে বিভিন্ন সেন্সর থেকে ডেটা সংগ্রহ করা এবং সেই ডেটা ব্যবহার করে প্রয়োজনীয় কাজ করা যায়।


এনালগ পিন কীভাবে কাজ করে?

Analog Pins একটি নির্দিষ্ট ভোল্টেজ রেঞ্জের মধ্যে সিগনাল গ্রহণ করে এবং এই ভোল্টেজের মানকে ডিজিটাল মানে রূপান্তরিত করে। Arduino Uno-এর ক্ষেত্রে এনালগ ইনপুট ভোল্টেজ ০ ভোল্ট থেকে ৫ ভোল্টের মধ্যে হতে পারে এবং এটি ১০-বিটের এনালগ-টু-ডিজিটাল কনভার্টার (ADC) ব্যবহার করে ০ থেকে ১০২৩ পর্যন্ত মানে রূপান্তর করে।

উদাহরণস্বরূপ:

  • ০ ভোল্ট ইনপুট দিলে analogRead() ফাংশন ০ মান প্রদান করবে।
  • ৫ ভোল্ট ইনপুট দিলে analogRead() ফাংশন ১০২৩ মান প্রদান করবে।
  • ২.৫ ভোল্ট ইনপুট দিলে analogRead() ফাংশন প্রায় ৫১২ মান প্রদান করবে।

Analog Pins এর ব্যবহার এবং ব্যবহারিক উদাহরণ

Analog Pins বিভিন্ন সেন্সর এবং ডিভাইস থেকে ডেটা ইনপুট নেওয়ার জন্য ব্যবহৃত হয়। এই পিনগুলো সাধারণত A0, A1, A2, ইত্যাদি নামে পরিচিত। Arduino বোর্ডে, যেমন Arduino Uno, ছয়টি এনালগ পিন (A0-A5) পাওয়া যায়।

উদাহরণ প্রকল্প: লাইট সেন্সর (LDR)

একটি LDR (Light Dependent Resistor) ব্যবহার করে আলোর তীব্রতা মাপা যায়। এটি একটি এনালগ সেন্সর যা আলোর তীব্রতার উপর ভিত্তি করে ভোল্টেজের মান পরিবর্তন করে।

void setup() {
  Serial.begin(9600); // সিরিয়াল কমিউনিকেশন শুরু
}

void loop() {
  int lightLevel = analogRead(A0); // LDR থেকে ইনপুট পড়া
  Serial.print("Light Level: ");
  Serial.println(lightLevel); // মান সিরিয়াল মনিটরে দেখানো
  delay(500); // ৫০০ মিলিসেকেন্ড অপেক্ষা
}

এই কোডের মাধ্যমে বোর্ড LDR থেকে আলোর মাত্রা পড়ে এবং সিরিয়াল মনিটরে দেখায়। আলো বাড়লে বা কমলে রিডিং পরিবর্তিত হবে।


এনালগ মানের রূপান্তর এবং ক্যালিব্রেশন

Arduino-তে এনালগ মানকে সরাসরি ভোল্টেজে রূপান্তর করতে হলে একটি সাধারণ সূত্র ব্যবহার করা হয়:

float voltage = analogValue * (5.0 / 1023.0);

এখানে analogValue হলো analogRead() ফাংশনের মাধ্যমে প্রাপ্ত মান।

উদাহরণ:

যদি analogRead() থেকে প্রাপ্ত মান ৫১২ হয়, তাহলে ভোল্টেজ হবে:

float voltage = 512 * (5.0 / 1023.0); // প্রায় 2.5 ভোল্ট

বিভিন্ন সেন্সরের সাথে এনালগ পিনের ব্যবহার

Analog Pins ব্যবহার করে নানাবিধ সেন্সরের ডেটা পড়া যায়, যেমন:

  • তাপমাত্রা সেন্সর (LM35): তাপমাত্রা পড়ার জন্য ব্যবহৃত হয়। এটি সরাসরি তাপমাত্রাকে ভোল্টেজে রূপান্তরিত করে।
  • পটেনশিওমিটার: ভোল্টেজ ডিভাইডার হিসেবে কাজ করে এবং ঘুরানোর মাধ্যমে ভোল্টেজের মান পরিবর্তন করা যায়।
  • মোটর কন্ট্রোলার: এনালগ আউটপুট বা পিডব্লিউএম (PWM) সিগনাল ব্যবহার করে মোটরের গতি নিয়ন্ত্রণ করা যায়।

Advanced Concepts: ADC এর বিশদ ব্যাখ্যা

ADC (Analog to Digital Converter) হল একটি গুরুত্বপূর্ণ উপাদান যা এনালগ সিগনালকে ডিজিটাল মানে রূপান্তর করে। Arduino Uno-এর ADC ১০-বিটের, যার মানে ০ থেকে ১০২৩ পর্যন্ত ১০২৪টি ধাপে ভোল্টেজ রূপান্তর করা হয়।

  • রেজোলিউশন: Arduino-এর ADC রেজোলিউশন ১০-বিটের হলে, প্রতিটি স্টেপের মান হবে ( \frac{5V}{1024} = 0.00488V ) বা প্রায় ৪.৮৮ মিলিভোল্ট।
  • রেফারেন্স ভোল্টেজ: Arduino বোর্ডে ডিফল্টভাবে ৫ ভোল্ট রেফারেন্স হিসেবে ব্যবহার করা হয়। তবে, এটি পরিবর্তন করে ১.১ ভোল্ট বা অন্যান্য কাস্টম ভোল্টেজ ব্যবহার করা যায় analogReference() ফাংশনের মাধ্যমে।

analogReference() ফাংশন

এটি ব্যবহার করে ADC-এর রেফারেন্স ভোল্টেজ নির্ধারণ করা যায়, যা নির্ভুল মান পেতে সহায়তা করে।

void setup() {
  analogReference(INTERNAL); // 1.1V রেফারেন্স ব্যবহার
}

Analog Pins-এর কাজ এবং কার্যকারিতা বোঝা Arduino-তে বিভিন্ন ধরনের সেন্সর এবং ডিভাইস থেকে ডেটা পড়ার জন্য অত্যন্ত গুরুত্বপূর্ণ। এটি ব্যবহারকারীদের তাদের প্রকল্পে আরও সঠিকভাবে ডেটা সংগ্রহ এবং প্রক্রিয়াকরণের সুযোগ দেয়।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion